En este curso es necesario disponer de las las siguientes herramientas:
R
Es un sistema para computación estadística: software de análisis de datos y lenguaje de programación.
R permite la manipulación de datos, análisis estadístico y visualización gráfica.
Se trata de un proyecto colaborativo de software libre y se distribuye bajo licencia GNU.
Miles de personas colaboran en su desarrollo. Es utilizado en investigación y docencia, y actualmente también en las empresas y organismos públicos.
Fue desarrollado por Ross Ihaka y Robert Gentleman en la década de 1990 como una implementación del lenguaje S, que fue desarrollado en los Laboratorios Bell.
RStudio
Es un entorno de desarrollo integrado (IDE) ámpliamente utilizado para programar en R.
Es gratuito y de código abierto.
Dispone de un editor incorporado.
Funciona en todas las plataformas y ofrece muchas ventajas, como la integración de control de versiones y gestión de proyectos.
Desde la URL: https://posit.co/download/rstudio-desktop/ es posible
descargarse tanto R como RStudio. Para RStudio, elegir la versión de
escritorio Open Source Edition con la licencia
Free.
Situada a la izquierda, permite a los usuarios dar instrucciones
mediante comandos de R. El símbolo > se llama
prompt.
R es interactivo, en el sentido de que responde a través de un “intérprete” a las entradas que recibe a través de la consola.
Podemos crear documentos ejecutables (scripts de R o notebooks de R), donde escribiremos instrucciones de R para ejecutarlas en un paso posterior.
Localizado en la esquina superior derecha.
Desde la pestaña Environment es posible ver los
objetos de la sesión de trabajo actual (tablas con datos, variables,
etc). También permite buscar y eliminar objetos de la sesión actual.
Incluye las opciones de abrir, guardar e
importar conjuntos de datos con los que trabajar
(ficheros).
La pestaña History ofrece el conjunto de comandos R
que se han ejecutado. Las opciones To Console y
To Source permiten enviar las líneas seleccionadas a la
consola o al editor, respectivamente. El símbolo de escoba
permite limpiar la historia de comandos y el símbolo de
lupa permite buscar comandos concretos.
En la parte inferior derecha, encontramos la barra de herramientas con distintas pestañas: Files/Plots/Packages/Help/Viewer.
La solapa Files permite gestionar el proyecto de R
en el que nos encontremos y los ficheros y subcarpetas que contenga.
Podremos crear nuevas carpetas (New Folder), así como renombrarlas o
borrarlas (Delete y Rename).
La solapa Plots muestra los gráficos que se van
generando y ofrece la posibilidad de eliminarlos y guardarlos en varios
formatos (Export).
La solapa Packages permite instalar paquetes y
cargarlos para poder usar sus funcionalidades.
La solapa Help permite buscar un paquete o función
para consultar la ayuda y uso.
Por último, la solapa Viewer se puede emplear para
visualizar páginas web locales y otro tipo de objetos.
Otra barra de herramientas fundamental es la barra de
menús situada en la parte superior de la interfaz. Encontramos
distintos tipos de herramientas para realizar con RStudio. Por ejemplo,
File permite crear nuevos ficheros de distintos tipos, como
R Script, R notebook , etc, o abrirlos. Con
Edit podremos acceder a las herramientas de copiar, cortar,
pegar, deshacer, rehacer, buscar, limpiar, etc. El menú
Code está dirigido a la programación. Encontraremos
herramientas de ayuda para ficheros con código R (Scripts), por ejemplo
para extraer o ejecutar partes específicas de código R, insertar bloques
de comentarios, indentar automáticamente el código, etc.
Build está centrado en la construcción de proyectos.
Hay dos formas principales de escribir y ejecutar código en R:
Un script de R es un archivo de texto plano con extensión
.R que contiene código de R. Los scripts de R se escriben
en editores de texto o entornos de desarrollo integrado (IDEs) como
RStudio. El código del Script se ejecuta secuencialmente desde el
principio hasta el final, o manualmente instrucción a instrucción.
Se usan este tipo de documentos para tareas que requieren ejecución
repetitiva y reproducible, como la preparación de datos y el análisis.
Estos archivos se crean desde
File --> New File --> R Script de la barra de
herramientas general.
Los comentarios acerca del código dentro de un Script se escriben con
el símbolo almohadilla #. Los comentarios no se consideran
código R y por tanto no son ejecutados.
Finalmente, estos Scripts se pueden compilar para generar documentos en formatos html, pdf y doc que incluyen texto, código, resultados de las ejecuciones del código y visualizaciones gráficas.
Un notebook de R es un documento interactivo que mezcla código de R, resultados de ejecución, visualizaciones y texto formateado (Markdown). Se pueden crear y ejecutar en entornos como RStudio. Este tipo de documentos se usan para explicar el análisis y pre-procesamiento que se ha realizado a los datos, junto con los resultados de su ejecución.
Estos archivos de tipo notebook de R se crean desde
File --> New File --> R Notebook de la barra de
herramientas general. Su ejecución produce por ejemplo, un archivo HTML,
PDF o Doc de Word.
La cabecera del archivo suele tener el siguiente diseño:
---
title: "Título del notebook"
author: "Nombre del autor"
output:
pdf_document: default
html_document: default
word_document: default
---
El documento actual es un notebook de R con las siguientes opciones para la conversión a HTML:
---
title: "Título del notebook"
author: "Nombre del autor"
output:
html_document:
toc: true
number_sections: true
---
La manera más eficiente de trabajar con R es mediante proyectos de RStudio. Un proyecto en RStudio ayuda a organizar el trabajo y facilita la gestión de archivos de datos, Scripts, paquetes y la configuración del entorno de trabajo.
Para crear un proyecto:
Hacemos clic en File en la barra de menú.
Seleccionamos
New Project -> New Directory -> New Project y
elegimos la ubicación del nuevo proyecto. Lo mejor es seleccionar un
nuevo directorio. Elegir un nombre para el proyecto y seleccionar la
ubicación en el sistema de archivos. La Opción
Use renv with this project permite crear un entorno
computacional para nuestro proyecto. Hablaremos de esto en la siguiente
sección.
Una vez creado, RStudio abrirá el nuevo proyecto. El archivo con la
extensión .Rproj guarda todas las características del
proyecto.
Para abrir un proyecto ya creado, hacemos clic en File
en la barra de menú. Seleccionamos Open Project, y buscamos
el archivo con la extensión .Rproj. Finalmente, hacemos
doble click sobre él.
Haz clic en Tools -> Global Options en la barra de
menú.
Desmarcar la casilla de “Restore .RData into worspace at startup”. Con esto conseguimos que el espacio de trabajo no se restaure automáticamente cuando iniciemos una nueva sesión de RStudio.
Además, con la opción ‘Never’ en “Save workspace to .RData on exit” conseguimos que el espacio de trabajo no se guarde automáticamente al salir de RStudio. Así se evita que datos y objetos antiguos sean guardados y cargados en sesiones futuras, garantizando que cada sesión de RStudio comience con un entorno limpio y vacío.
Es aconsejable crear siempre una estructura de carpetas que permita tener todo organizado desde el principio, porque al final los proyectos crecen. La estructura perfecta no existe, y depende del proyecto particular. Las siguientes carpetas pueden ser útiles en un amplio abanico de proyectos, y las tres primeras se pueden usar prácticamente en cualquier proyecto:
data: en esta carpeta se tienen los archivos de
datos, tanto aquellos orígenes de datos que se quieran importar como los
que se puedan guardar desde un script.
R: para los scripts de R. Son archivos con extensión
.R. Es posible que solamente haya un script en nuestro
proyecto, pero si hubiera más se pueden guardar en esta
carpeta.
inform: aquí se pueden guardar los archivos R
Markdown (con extensión .Rmd) que se utilicen para generar
informes o presentaciones.
img: si en nuestro proyecto se utilizan imágenes de
cualquier tipo, es una buena idea tenerlas en una carpeta
independiente.
test: si se quieren separar los scripts que se
utilicen para pruebas y no se quieren mezclar con los “buenos” en la
carpeta R.
aux, tmp, util,
notas, doc, …: este tipo de carpetas vienen
bien cuando hay información que está relacionada o es útil para un
proyecto, pero el archivo no es del proyecto de análisis de datos en sí.
Por ejemplo, unas especificaciones de un producto o servicio, un
artículo científico, fotografías de una fábrica, comunicaciones con
clientes, etc.
Lo normal es que cada proyecto use un conjunto de paquetes (con sus versiones específicas), y que dichos paquetes sean distintos para distintos proyectos. Lo más recomendable es guardar toda la información relativa a los paquetes que usa un proyecto, para poder replicar los análisis y resultados en otras máquinas. Esta información es lo que se llama entorno computacional del proyecto.
Para gestionar entornos computaciones de proyectos, usaremos el
paquete de R renv. Este es un paquete de R diseñado para
asegurar que los proyectos sean reproducibles y que las dependencias
sean consistentes, independientemente de cambios en las versiones de los
paquetes.
RStudio facilita el uso de renv proporcionando una
interfaz gráfica para algunas de sus funcionalidades.
En la pestaña Files de nuestro proyecto se crea un archivo
llamado renv.lock que contiene toda la información de los
paquetes que usa el proyecto junto con las versiones.
Dentro de la pestaña Packages del proyecto podemos encontrar las
opciones de Restore y Snapshot. Esto permite
actualizar el archivo renv.lock con la situación actual del
entorno (snapshot) y restaurar un entorno exactamente como
estaba en un momento dado (restore) .
Características:
Los entornos se pueden compartir y transferir entre diferentes sistemas, lo que es útil para la colaboración y para mover proyectos entre diferentes máquinas.
Gestión de Dependencias: renv registra y gestiona
todas las dependencias de paquetes de un proyecto, manteniendo el
archivo de bloqueo (renv.lock) que describe las versiones
exactas de los paquetes utilizados.
La ejecución del comando renv::status() en consola
muestra el estado del entorno de paquetes del proyecto, indicando si hay
diferencias entre el entorno actual y el archivo renv.lock.
Es posible revisar el estado del entorno para verificar si el entorno
actual coincide con el archivo renv.lock.
renv::status()
Es posible usar RStudio como editor de texto. Para hacer una revisión
ortográfica de los documentos desde RStudio, debemos hacer lo siguiente:
ir al menú Tools –\> Global Options y luego ir a la
opción spelling (ortografía). Elegir el diccionario a usar.
Si no aparece el que buscas, se puede descargar. Por último, con la
tecla de función F7 se realiza una revisión ortográfica del texto.
El lenguaje R: https://cran.r-project.org/index.html
Entornos computacionales: https://rstudio.github.io/renv/